package com.school.information.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.school.information.entity.ModuleInfoEntity;
import com.school.information.qo.ModuleInfoQO;

import java.util.List;
import java.util.Map;

/**
 * (ModuleInfo)表服务接口
 *
 * @author ycc
 * @since 2023-07-04 20:36:25
 */
public interface ModuleInfoService extends IService<ModuleInfoEntity> {

    /**
     * 新增模块信息
     *
     * @param moduleInfo
     * @return
     */
    boolean saveInfo(ModuleInfoEntity moduleInfo);

    /**
     * 更新模块信息
     *
     * @param moduleInfo
     * @return
     */
    boolean updateInfo(ModuleInfoEntity moduleInfo);

    /**
     * 根据模块名称获取模块信息
     *
     * @param name
     * @return
     */
    ModuleInfoEntity getByName(String name);

    /**
     * 分页查询获取所有信息
     *
     * @param moduleInfo
     * @return
     */
    IPage<ModuleInfoEntity> pageList(ModuleInfoQO moduleInfo);

    /**
     * 根据模块信息id的集合 查询模块信息 并返回模块实体map
     *
     * @param moduleInfoIds
     * @return
     */
    Map<Long, ModuleInfoEntity> getModuleInfoMap(List<Long> moduleInfoIds);
}
